成本和效率能否兼得?凌云光对GPU管理方案的探索和选型
【编者按】凌云光作为中国机器视觉龙头企业,深知算力是处理和分析海量数据的关键,此次携手趋动科技在GPU管理方面的探索落地,为行业打破算力桎梏提供了又一例证。未来,趋动科技将继续以GPU池化技术领先者之姿,为更多行业客户提供人工智能的算力基建。
背景介绍
中国机器视觉市场潜力巨大,行业处于快速成长周期,中国市场已成为全球机器视觉市场规模增长最快的市场之一,为各厂商提供了广阔成长空间。根据中国机器视觉产业联盟的统计,中国机器视觉行业的销售额从2020年的184.6亿元增长至2022年的310亿元,年复合增长率达29.6%。
得益于宏观经济逐步回暖、下游行业恢复增长、制造业自动化及智能化进程的加速、产业结构升级推动、机器视觉产品应用领域的拓宽、国产品牌技术能力持续提升、政策支持、机器视觉行业技术升级、资本力量不断加持等因素,中国机器视觉行业规模将进一步增长,预计2023-2025年,中国机器视觉行业规模将从375.4亿元增长至560.1亿元。
凌云光战略聚焦机器视觉行业,秉持为机器植入眼睛和大脑的使命,依托“视觉+AI”技术,服务多个行业智能制造。目前,凌云光已较为全面地掌握了机器视觉产业链相关核心技术,形成了先进光学成像、软件与算法、精密机械与自动化控制,以及新一代人工智能等技术平台。
当前,以深度学习为主的人工智能技术在工业应用场景得到了广泛应用与再创新,推动了传统工业质检向人工智能时代迈进。与此同时,随着深度学习在工业质检领域的应用逐渐深入,通用深度学习算法、框架、平台不足以满足工业场景的实际应用要求,面临缺陷样本少、精度要求高和效能要求高等诸多挑战。
凌云光F.Brain(Fabrication & Factory Brain,工厂大脑、制造大脑)深度学习平台,是基于凌云光多年在工业领域的经验积累,专为工业质检场景自主研发的深度学习平台。针对工业质检场景碎片化、快交付、高迭代、低要求等特点,凌云光专门研发了多种算法,实现浅、弱和小缺陷的像素级检测,通过轻量化、流程化模型设计实现快速部署,通过数据增强、模型预训练和元学习等,有效解决NG缺陷有限、训练样本较少的“冷启动场景”问题。
凌云光对GPU算力的需求与挑战
机器视觉开发一般包括数据采集、数据预处理、特征提取、训练模型、模型优化、上线部署等多个步骤,而大量的算力和GPU资源成为项目顺利开展的关键。如:
数据规模、模型大小、训练算法等因素,需要不同算力的支撑;
推理阶段对低延迟、高吞吐量等性能指标有极高要求,需要高性能的GPU算力来满足实时推理能力。
这种对GPU算力资源的巨大需求,特别是在高端GPU卡一卡难求的局面下,给企业带来额外成本压力和能耗开支。
例如,在内部研发算力需求管理方面:以往产品线和研究院各自研发的模式,无法形成合力,而造成人才资源的浪费。但是,如果为每位算法工程师配置GPU服务器,虽然可使不同算法部门GPU资源实现物理隔离,但也会出现算法工程师在研发测试过程中,GPU卡并不能被满负荷使用,造成资源闲置的现象。
另一方面,随着新客户不断增加,业务部门对GPU采购需求随之增加,其成本也在迅速增加。随着业务的发展,必须购买更多的GPU以满足客户需求,但也导致了成本的快速上升。
对GPU管理方案的探索和选型
针对以上问题,凌云光对于GPU管理的能力提出以下几点诉求:
基于机器视觉对于延迟的要求,方案带来的性能损耗要小;
将虚拟的GPU资源统一规格化,比如支持将3090的卡虚拟化成2070的型号,方便统一管理;
对于未来业务发展,提供池化弹性扩展能力,支持AI应用和物理GPU解耦,支持GPU资源的按需挂载和自动释放。
凌云光以GPU虚拟化技术为起点,调研了市场上的主流技术方案,以及每种技术的优劣势是否能够满足以上要求:
开源方案:rCUDA,技术手段采用用户态虚拟化,能够支持容器和虚机,能够实现GPU的远程调用。但是不支持多机聚合,不支持资源池化,而且截至2011年之后没有更新,只能支持非常老的CUDA版本,使用者较少。
开源方案GPU Manager:技术手段采用用户态虚拟化,能够支持容器,不支持虚机,不支持GPU的远程调用、不支持多机聚合,不支持资源池化。该方案的重点在于容器云平台本身,并不在于对GPU深度优化,不支持GPU的统一规格化,同时社区更新缓慢,目前基本没有更新,对于后续cuda版本的支持存在问题。
商业方案cGPU:技术手段采用内核态虚拟化,能够支持容器,不支持虚机,不支持GPU的远程调用,不支持多机聚合,不支持资源池化。该方案只能对GPU进行切分,支持原生容器共享使用GPU,无法对GPU进行规格化处理。该方案只能服务于阿里云的公有云客户。
商业方案vGPU: 英伟达提供的虚拟化技术,可对GPU做简单切分,不支持GPU远程调用,vGPU规格调整灵活度差,不能动态调整vGPU算力和显存,只支持Tesla和Quadaro系列的GPU卡,不支持消费级GPU卡。
商业方案Bitfusion:2019年被VMware收购,技术手段采用用户态虚拟化,支持GPU的远程调用,支持GPU任意切分。该方案目前支持的CUDA版本和GPU卡型号有限,且必须捆绑部署在vSphere7 上。另外,2023年5月VMware已经正式停止销售Bitfusion产品,相应的支持和服务也会在2025年5月停止。
商业方案OrionX:技术手段采用用户态虚拟化,完全实现资源池化,能够支持原生容器、虚机;虚拟GPU按照算力和显存两个维度,细颗粒度切分,支持小模型场景;跨服务器设备的GPU资源聚合,支撑大模型多卡的场景;支持vGPU远程调用;支持图形界面统一监管GPU资源池状态;支持CUDA持续更新,支持GPU卡持续适配,支持GPU资源规格化管理,支持国产加速卡适配。该方案提供完整功能支撑上层AI业务,是唯一实现GPU资源池化的商业技术方案。
基于以上分析以及多方测试对比,我们选择了趋动科技的OrionX GPU资源池化方案。
用户态虚拟化提供高性能的GPU虚拟化能力
有些人认为内核态的虚拟化能提供更好的性能,直接和设备通信、有更高的执行权限,因此可以有更好的虚拟化性能。实际上虚拟化的性能和诸多因素有关,包括虚拟化的粒度、虚拟化接口的形式、虚拟化软件介入的频率、虚拟化软件的实现方式等等,而不是笼统地归因于内核态和用户态的表面差异。
业内很多方案为了追求更好的性能,减少用户态和内核态的切换带来的性能损失,反而都是实现在用户态,例如用户态的TCP/IP协议栈,用户态文件系统等。在我们的测试对比中,用户态的虚拟化方案能够提供高性能的GPU虚拟化,甚至比内核态有更高的性能;同时由于用户态实现相对内核态实现更加安全,对系统的稳定性影响小,因此可以使用更加复杂的实现方式,从而提供更多更丰富的功能,比如我们要求的资源统一规格化,资源池化,资源动态挂载释放的能力等。
我们对OrionX进行了多个模型多个场景的压测,在本地虚拟化场景下,OrionX vGPU的性能几乎媲美物理卡,远程调用的性能跟网络有关,通过RDMA的网络进行远程调用,性能损耗非常小。
以上测试对比了容器、虚机、远程调用以及不同模型不同batchsize大小的压测,其测试结果完全满足凌云光业务对于算力高性能的诉求。
GPU资源池助力凌云光在视觉人工智能领域快速发展
趋动科技提供了OrionX GPU池化解决方案助力凌云光搭建了集团算力中心,将物理GPU虚拟成众多可灵活分配和调度的 OrionX vGPU,为公司内部研发平台和F.Brain深度学习平台按需提供算力。
F.Brain具备了 OrionX GPU池化的能力,让企业内的 AI 团队成员可共享数据中心内所有服务器上的 GPU 算力,使 AI 应用开发人员不必再关心底层资源状况,专注于更有价值的业务层面,让 AI 应用开发变得更加敏捷高效。
1、提升资源利用及研发效率
通过软件定义的方式将AI应用与物理GPU卡解耦,形成了GPU资源池,打破了原来物理GPU绑定造成的资源孤岛,提高了GPU资源利用率。OrionX从算力和显存2个维度支持细粒度可调整的虚拟GPU(颗粒度可达到1%算力和1MB显存),这使得凌云光能够更加灵活的分配GPU资源。
2、实现远程调用
凌云光研发人员在研发过程中,可以在无GPU卡的服务器上进行应用开发,通过OrionX远程调用功能和RDMA高速网络调用GPU资源,增加研发灵活性。
3、实现算力随需调用
OrionX还提供资源弹性伸缩以及秒级资源动态分配与回收,进一步提高GPU资源利用率,提升研发效率。
4、保障业务安全
为F.Brain深度学习平台提供GPU算力,将客户与物理GPU卡解绑,OrionX具备资源强隔离能力,满足F.Brain深度学习平台对用户资源有效隔离的要求,保证了业务的安全合规。同时具备资源强隔离能力,为业务安全保驾护航。
5、降低成本投入,提升ROI
凌云光通过GPU池化技术,充分利用了现有GPU资源,减少了GPU的新增采购,大幅降低了成本投入。和原来相比,同样的资金投入,现在由于GPU资源利用率大幅提升,可支撑的业务量也随之增加,使得ROI得到明显提升。
根据系统上线运行的数据,采用OrionX方案之后,凌云光在资源提升、节能减排方面有很大收益。之前需要200台、占地一层楼的服务器建设需求,通过GPU池化能力的加持和管理,现在只需几十台服务器、占地几个平方就能满足业务需求,在成本投入、能耗排放、运维管理等方面都为公司创造了价值。
人工智能市场已经进入高速发展阶段,凌云光作为中国机器视觉龙头企业,深知算力是处理和分析海量数据的关键,此次携手趋动科技在GPU管理方面的探索落地,为行业打破算力桎梏提供了又一例证。未来,趋动科技将继续以GPU池化技术领先者之姿,为更多行业客户提供人工智能的算力基建。